#pragma once
#include <vector>
#include "Utensilio.h"
#include "PicaretaGeral.h"
#include "Bloco.h"
#include "MochilaGeral.h"
#include "Luz.h"
#include "AplicaViga.h"
#include "AplicaEscada.h"
#include "Energia.h"

using namespace std;

class Mineiro
{
	int energia;
	int moedas;
	Energia* itemEnergia;
	Bloco* posicao;
	Luz* luz;
	PicaretaGeral* picareta;
	MochilaGeral* mochila;
	AplicaViga* vigas;
	AplicaEscada* escadas;
	vector <Utensilio*> inventario;
public:
	Mineiro(Bloco* posicao);
	~Mineiro();
	void mover(Bloco* possivelDestino);
	Luz* getTipoLuz();
	void setTipoLuz(Luz* luz);
	PicaretaGeral* getPicareta();
	void setPicareta(PicaretaGeral* picareta);
	void cai(int energiaPerdida);
	Energia* getEnergia();
	int getEnergiaMineiro();
	void setEnergia();
	void setEnergia(Energia* energia);
	void gastaEnergia();
	void setMochila(MochilaGeral* mochila);
	MochilaGeral* getMochila();
	Bloco* getPosicao();
	AplicaEscada* getAplicaEscada();
	void gastaEscada();
	void gastaViga();
	void addAplicaEscada(int escadas);
	AplicaViga* getAplicaViga();
	void addAplicaViga(int vigas);
	void setPosicao(Bloco* posicao);
	int getMoedas();
	void gastaMoedas(int moedas);
	void setMoedas(int moedas);
	void setEnergiaMineiro(int vida);
};